Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Continuous Integration Optimization #97

Merged
merged 10 commits into from
Oct 13, 2024
Merged

Continuous Integration Optimization #97

merged 10 commits into from
Oct 13, 2024

Conversation

funkyfuture
Copy link
Contributor

@funkyfuture funkyfuture commented Sep 24, 2024

okay, so here's changes for the CI:

  • tests run against installed wheel, not an editable install
  • also the source distribution is build and validated as the wheel
  • the declared trove classifiers drive the interpreter selection to run tests against
  • tag pushes trigger a workflow that uploads the packages directly(?) to the PyPI

however due to the change of package installation (actually the non-presence of the pure source) the coverage count reports less which leads to a fail of the expected goal. all of these possible solutions i don't like:

  • decrease the expectation; as local runs are more likely to re-define the expectation
  • increasing test coverage; inefficient now. if this just happens now it's okay, but it will be an actual matter before optimizations are seeked way later in the project
  • adding a test based on the source distribution; that'd suggest to use the test files from that dist as well, but that then creates the requirement to test that the source dist is complete, doable, but i don't imagine this to be more of a nag than practical
  • define two different goals; just no

@funkyfuture funkyfuture added this to the 0.5 milestone Sep 24, 2024
@JKatzwinkel
Copy link
Contributor

why test against installed wheel instead of source tree tho...?

@funkyfuture
Copy link
Contributor Author

packages are what most users will install.

adding a test based on the source distribution

i think that's what should be done in order to test both distribution formats. and one can compare the contained test suite against one from a vcs checkout.

…inst source distribution

This one shall ensure that the expected test coverage is met.
All supported Python versions are now tested under the concept of compatibility with the wheels.
@funkyfuture
Copy link
Contributor Author

i overcame my fear that the source distribution might be missing contents.

the testing against wheels against various interpreter/language versions is now considered as a compatibility test.

JKatzwinkel
JKatzwinkel previously approved these changes Oct 9, 2024
.github/workflows/publish.yml Outdated Show resolved Hide resolved
JKatzwinkel
JKatzwinkel previously approved these changes Oct 12, 2024
as the latter is more likely to fail and its result can be amended manually
which is a requirement for the pandoc parser.
unlike i anticipated the `doctest` results don't have an HTML build as side-effect.
Thus the docs are built in the GH release job.
Metadata usage is streamlined.
@funkyfuture funkyfuture merged commit 0c4b83c into main Oct 13, 2024
11 checks passed
@funkyfuture funkyfuture deleted the cio branch October 13, 2024 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants